package paginas;

import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.util.ResourceBundle;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;

import modelUtil.Util;
import usuario.usuarioTO.UsuarioTO;
import util.BotonPersonalizado;
import util.TransicionBotones;
import AccionBoton.AccionFocoCreditos;
import AccionBoton.AccionFocoVentana;
import AccionBoton.AccionIrConfig;
import AccionBoton.AccionIrTeclado;
import AccionBoton.AccionVisualizacionPrevia;

public class PaginaMenuAdmin extends JPanel{


	private static final long serialVersionUID = 1L;
	private JFrame _contenedor;
	private UsuarioTO _user;
	private BotonPersonalizado boton1;
	private BotonPersonalizado boton2;
	private BotonPersonalizado boton3;
	private BotonPersonalizado boton4;
	private BotonPersonalizado boton5;
	private TransicionBotones policy;
	private Vector<Component> order;
	private AccionFocoVentana foco;

	
    public PaginaMenuAdmin(JFrame frame,UsuarioTO user) {
    	_user = user;
		Toolkit tk = Toolkit.getDefaultToolkit();
		
    	this.setBackground(Color.white);
        _contenedor = frame;
        _contenedor.setAlwaysOnTop(false);
    	_contenedor.setFocusableWindowState(true);
        _contenedor.setExtendedState(JFrame.MAXIMIZED_BOTH);
        _contenedor.setFocusableWindowState(true);
        _contenedor.requestFocus();
        _contenedor.setPreferredSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height-130));

        initComponents();
        order = new Vector<Component>(4);
        order.add(boton1);
        order.add(boton2);
        order.add(boton4);
        order.add(boton3);
        order.add(boton5);


    	foco = new AccionFocoVentana(boton1);
       _contenedor.addWindowFocusListener(foco);
       
       _contenedor.setFocusable(true);
       policy = new TransicionBotones(order);
       _contenedor.setFocusTraversalPolicy(policy);
        
        _contenedor.pack();
        _contenedor.repaint();
    }
	
    private void initComponents() {
    	
    GridLayout grid = new GridLayout(3,3);
    this.setLayout(grid);
    	
    boton1 =  Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_config"),"lib//Resources//Config-Tools.png");
    boton1.addActionListener(new AccionIrConfig(this, _user));
    boton1.getLabelTexto().setFont(new Font( "Dialog",Font.PLAIN,22));
    boton1.getLabelTexto().setVerticalAlignment(SwingConstants.BOTTOM);
    boton1.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_config"));
    boton1.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_config"));
    boton1.setMnemonic(KeyEvent.VK_C);
    boton1.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_C);
	boton1.addFocusListener(new AccionFocoCreditos(boton1));
	boton1.setFocusable(true);
	
    
    boton2 = Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_entorno_creacion"),"lib//Resources//EntornoCreacion.png");
    boton2.addActionListener(new AccionIrTeclado(_contenedor, "entornoCreacion", _user));
    boton2.getLabelTexto().setFont(new Font( "Dialog",Font.PLAIN,22));
    boton2.getLabelTexto().setVerticalAlignment(SwingConstants.BOTTOM);
    boton2.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_entorno_creacion"));
    boton2.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_entorno_creacion"));
    boton2.setMnemonic(KeyEvent.VK_E);
    boton2.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_E);
	boton2.addFocusListener(new AccionFocoCreditos(boton2));
	boton2.setFocusable(true);

    
    boton3 =  Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_salir"),"lib//Resources//Arreter.png");
    boton3.addActionListener(new AccionIrTeclado(_contenedor, "Usuarios", _user));
    boton3.getLabelTexto().setFont(new Font( "Dialog",Font.PLAIN,22));
    boton3.getLabelTexto().setVerticalAlignment(SwingConstants.BOTTOM);
    boton3.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_salir"));
    boton3.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_salir"));
    boton3.setMnemonic(KeyEvent.VK_S);
    boton3.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_S);
	boton3.addFocusListener(new AccionFocoCreditos(boton3));
	boton3.setFocusable(true);


    
    boton4 =  Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_vis_previa"),"lib//Resources//VisualizacionPrevia.png");
    boton4.getLabelTexto().setFont(new Font( "Dialog",Font.PLAIN,22));
    boton4.getLabelTexto().setVerticalAlignment(SwingConstants.BOTTOM);
    boton4.addActionListener(new AccionVisualizacionPrevia(_contenedor,true,_user));
    boton4.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_vis_previa"));
    boton4.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_vis_previa"));
    boton4.setMnemonic(KeyEvent.VK_V);
    boton4.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_V);
	boton4.addFocusListener(new AccionFocoCreditos(boton4));
	boton4.setFocusable(true);


    boton5 =  Util.BotonImagen(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_biblio"),"lib//Resources//BibliotecaMultimedia.png");
    boton5.addActionListener(new AccionIrTeclado(_contenedor, "bibliotecaMultimedia", _user));
    boton5.getLabelTexto().setFont(new Font( "Dialog",Font.PLAIN,22));
    boton5.getLabelTexto().setVerticalAlignment(SwingConstants.BOTTOM);
    boton5.getLabelTexto().getAccessibleContext().setAccessibleName(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_biblio"));
    boton5.setToolTipText(ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_accesible_menu_admin") + ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_admin_biblio"));
    boton5.setMnemonic(KeyEvent.VK_B);
    boton5.getLabelTexto().setDisplayedMnemonic(KeyEvent.VK_B);
	boton5.addFocusListener(new AccionFocoCreditos(boton5));
	boton5.setFocusable(true);

    Util.redimensionar(boton1);
    Util.redimensionar(boton2);
    Util.redimensionar(boton3);
    Util.redimensionar(boton4);
    Util.redimensionar(boton5);

    
    boton1.setBorder(null);
    boton2.setBorder(null);
    boton3.setBorder(null);
    boton4.setBorder(null);
    boton5.setBorder(null);

    
    grid.addLayoutComponent("hueco", new JLabel());
    this.add(new JLabel());
    grid.addLayoutComponent("boton",boton1);
    this.add(boton1);
    grid.addLayoutComponent("hueco", new JLabel());
    this.add(new JLabel());

    grid.addLayoutComponent("boton", boton2);
    this.add(boton2);
    grid.addLayoutComponent("boton", boton3);
    this.add(boton3);
    grid.addLayoutComponent("boton",boton4);
    this.add(boton4);
    
    grid.addLayoutComponent("hueco", new JLabel());
    this.add(new JLabel());
    grid.addLayoutComponent("boton", boton5);
    this.add(boton5);
    grid.addLayoutComponent("hueco", new JLabel());
    this.add(new JLabel());
	
    }

	public TransicionBotones getPolicy() {
		return policy;
	}

	public void setPolicy(TransicionBotones policy) {
		this.policy = policy;
	}

	public JFrame get_contenedor() {
		return _contenedor;
	}

	public void set_contenedor(JFrame contenedor) {
		_contenedor = contenedor;
	}
	
	public void requestFocus(){
		super.requestFocus();
		_contenedor.setFocusTraversalPolicy(policy);
		_contenedor.requestFocus();
		
	}

}
